package cn.donting.jme.expansion.tool;

import cn.donting.jme.EditorContent;
import cn.donting.jme.editor.scene.Scene;
import cn.donting.jme.editor.scene.SceneCamera;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;

import javax.swing.*;

/**
 * 场景编辑工具
 */
public interface SceneTool {

    int ICON_SIZE = 16;

    String getName();

    Icon getIcon(int size);

    /**
     * 激活这个工具时，指定 选中的 spatial
     * @param active
     * @param spatial is null
     */
    void active(boolean active);

    Spatial getSelectSpatial();
    SceneCamera getSelectCamera();
    void setSelectSpatial(Spatial spatial);
    void setSelectCamera(SceneCamera sceneCamera);

    Node getToolNode();

    default Scene getScene() {
        return EditorContent.getScene();
    }

    /**
     * 处于 active 是 触发
     * @param tpf
     */
    default void update(float tpf) {
    }

}
